package com.by.facade.dto.chatMsg;

import com.by.facade.dto.chatMsg.sub.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @author Tian Wei
 * @version 1.0
 * @date 2024/5/17 5:18 PM
 */

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxCpChatMsgSDTO implements Serializable {

    private String id;

    private String sessionId;

    private String sessionIdV2;

    private String sessionIdV3;

    private Integer wxCpInnerMsgFlag;

    private String msgId;

    private String msgType;

    private Long seq;

    private String action;

    private String wxCpCode;

    private String wxCpUserId;

    private String wxCpExternalUserId;

    private String sendWxCpUserId;

    private String receiveWxCpUserId;

    private String groupChatId;

    private Integer isGroupChatFlag;

    private Integer sendType;

    private String ossUrl;

    private String content;

    private String sdkFileId;

    private Long fileSize;

    private Long playLength;

    private TextMsgSDTO text;

    /**
     * 图片
     */
    private ImageMsgSDTO image;

    /**
     * 撤回消息
     */
    private RevokeMsgSDTO revoke;

    /**
     * 同意会话聊天内容
     */
    private AgreeMsgSDTO agree;

    /**
     * 不同意会话聊天内容
     */
    private AgreeMsgSDTO disagree;

    /**
     * 语音
     */
    private VoiceMsgSDTO voice;

    /**
     * 视频
     */
    private VideoMsgSDTO video;

    /**
     * 名片
     */
    private CardMsgSDTO card;

    /**
     * 位置
     */
    private LocationMsgSDTO location;

    /**
     * 表情
     */
    private EmotionMsgSDTO emotion;

    /**
     * 文件
     */
    private FileMsgSDTO file;

    /**
     * 链接
     */
    private LinkMsgSDTO link;

    /**
     * 小程序消息
     */
    private WeAppMsgSDTO weapp;

    /**
     * 会话记录消息
     */
    private ChatRecordMsgSDTO chatRecord;

    /**
     * 待办消息
     */
    private ToDoMsgSDTO toDo;

    /**
     * 投票消息 官网暂无
     */
    private VoteItemMsgSDTO voteItem;

    /**
     * 填表消息
     */
    private CollectMsgSDTO collect;

    /**
     * 红包消息
     * 互通红包消息
     */
    private RedPacketMsgSDTO redPacket;

    /**
     * 会议邀请消息
     */
    private MeetingMsgSDTO meeting;

    /**
     * 切换企业日志
     */
    private Long changeWxCpTime;

    /**
     * 在线文档消息
     */
    private DocMsgSDTO doc;

    private InfoMsgSDTO info;

    /**
     * 日程消息
     */
    private CalendarMsgSDTO calendar;

    /**
     * 混合消息
     */
    private MixedMsgSDTO mixed;

    /**
     * 音频存档消息
     */
    private String voiceId;

    private MeetingVoiceCallMsgSDTO meetingVoiceCall;

    /**
     * 视频号消息
     */
    private SphFeedMsgSDTO sphFeed;

    private Long msgTimeLong;

    private String msgTime;

    private Long sourceProjectId;

    private Long sourceCorpCode;

    private String md5Sum;

    private String  fileExt;

    private String wxCpAppId;

}